package com.fpd.model.ro;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
//回款记录信息表
@Data
@ApiModel(description = "回款")
public class MoneyBackRecordInfoRO extends PageRO {

	private static final long serialVersionUID = 2709752963030639649L;

	private String id;
	
	private List<String> ids;

	private Date createTime;

	private Date updateTime;

	@ApiModelProperty(value = "合同号")
	private String contractNumber;

	@ApiModelProperty(value = "客户号")
	private String custNo;

	@ApiModelProperty(value = "客户姓名")
	private String custName;

	@ApiModelProperty(value = "客服姓名")
	private String trueName;


	@ApiModelProperty(value = "回款金额")
	private BigDecimal backAmount;

	@ApiModelProperty(value = "银行名称")
	private String bankName;

	@ApiModelProperty(value = "银行账号")
	private String bankNumber;

	@ApiModelProperty(value = "代偿人关系")
	private String payerRelationship;

	@ApiModelProperty(value = "回款方式（1：自然回款；2：催收回款）")
	private Integer backType;

	@ApiModelProperty(value = "转化分类（1：当日转化；2：非当日转化；3：其他）")
	private Integer conversionClassify;

	@ApiModelProperty(value = "回款状态（0：未确认；1：已确认收款；2：已确认未收款）")
	private Integer financeState;

	@ApiModelProperty(value = "跟进人ID")
	private String followUserId;

	@ApiModelProperty(value = "附件编号")
	private String attachmentNo;// 附件编号

	@ApiModelProperty(value = "文件")
	private MultipartFile[] files;

	@ApiModelProperty(value = "总还款金额")
	private BigDecimal totalBackAmount;

	@ApiModelProperty(value = "剩余期款")
	private BigDecimal leftAmount;

	@ApiModelProperty(value = "自然回款金额")
	private BigDecimal natureAmount;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "还款时间")
	private Date backTime;

	@ApiModelProperty(value = "已还期数")
	private Integer alreadyPeriod;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "取消分期时间")
	private Date cancelPeriodTime;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "结款日期")
	private Date settleTime;

	@ApiModelProperty(value = "来电回款天数")
	private Integer callBackDays;

	@ApiModelProperty(value = "来电与回款周期(0:0天,1:1~5天,2:6~10天,3:11~15,4:16~20天,5:21~25天,6:26~30天,7:31~40天,8:41~50天,9:50天以上)")
	private Integer callBackPeriod;

	@ApiModelProperty(value = "帐龄(0:0~1年，1：1~3年，2:3~5年，3：5年以上)")
	private Integer aging;

	@ApiModelProperty(value = "委案还款天数")
	private Integer repaymentDays;

	@ApiModelProperty(value = "委案还款周期(0:0天,1:1~5天,2:6~10天,3:11~15,4:16~20天,5:21~25天,6:26~30天,7:31~40天,8:41~50天,9:50天以上)")
	private Integer repaymentBackPeriod;

	@ApiModelProperty(value = "年龄段(1:18~25岁，2：26~35岁，3：36~45岁，4：46岁及以上)")
	private Integer agePart;

	@ApiModelProperty(value = "客户分类（1：全部还款客户；2：部分还款客户；3：待跟进客户；4：拒绝回款客户；）")
	private String custClassify;

	@ApiModelProperty(value = "审核状态（0：未通过审核；1：审核中；2：审核通过）")
	private Integer auditState;
	
	private Integer noAuditState;

	@ApiModelProperty(value = "审核描述")
	private String auditDesc;

	@ApiModelProperty(value = "组ID")
	private String groupId;

	@ApiModelProperty(value = "委托方名称")
	private String entrustName;

	@ApiModelProperty(value = "组长id")
	private String groupLeaderId;

	@ApiModelProperty(value = "共债")
	private String jointly;

	@ApiModelProperty(value = "重复委案")
	private String repentNum;

	@ApiModelProperty(value = "重复次数")
	private String repetitionNumber;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "委案开始日期")
	private Date beginTimeCaseStart;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "委案结束日期")
	private Date beginTimeCaseEnd;

	@ApiModelProperty(value = "案件状态（0:未分配，1：已分配，5：回款中；6：回款完成；7:历史记录）")
	private String caseState;


	@ApiModelProperty(value = "委托方ID")
	private String thirdParty;


	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "开始委案日期")
	private Date beginTimeCase;
	
	/**
	 * 委案结束时间,用作判断过期状态
	 */
	private Date takeBackPlanTime;

	@ApiModelProperty(value = "逾期金额")
	private BigDecimal yuqiAmount;

	@ApiModelProperty(value = "逾期天数")
	private Integer yuqiDay;
	
	/**
	 * 客服ID
	 */
	@ApiModelProperty(value = "客服ID")
	private String userId;
	
	private String custSource;//客户来源
	private String showPage;//是否分页
	
	
	private String backTimeStart;//回款开始时间
	private String backTimeEnd;//回款结束时间
}